package com.lggry.innerClass3;

import java.util.Arrays;
import java.util.Comparator;

public class Test4 {
    public static void main(String[] args) {
        //目标：完成给数组排序，理解其中匿名类的用法
        //准备一个学生类型的数组，存放6各学生
        Student[] students = new Student[6];
        students[0] = new Student("张三", 18, 170, '女');
        students[1] = new Student("李四", 19, 180, '女');
        students[2] = new Student("王五", 20, 190, '男');
        students[3] = new Student("赵六", 21, 160, '女');
        students[4] = new Student("孙七", 22, 170, '男');
        students[5] = new Student("周八", 23, 180, '女');

        //按照年龄升序排序，可以调用sun公司写好的api直接对数组进行排序
        Arrays.sort(students, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                //指定排序规则
                //如果你认为左边对象 大于 右边对象，那么返回正整数
                //如果你认为左边对象 小于 右边对象，那么返回负整数
                //如果两边相等，那么返回0
                if(o1.getAge() > o2.getAge()){
                    return 1;
                } else if (o1.getAge() < o2.getAge()) {
                    return -1;
                }else{
                    return 0;
                }
            }
        });

        //遍历数组中的学生对象并输出
        for (int i = 0; i < students.length; i++) {
            Student s = students[i];
            System.out.println(s);
        }
    }
}
